package com.appbee.songs.shared;

import java.util.List;

import com.appbee.core.server.requestfactory.GuiceServiceLocator;
import com.appbee.songs.server.service.SongService;
import com.google.web.bindery.requestfactory.shared.Request;
import com.google.web.bindery.requestfactory.shared.RequestContext;
import com.google.web.bindery.requestfactory.shared.Service;

@Service(value=SongService.class,locator=GuiceServiceLocator.class)
public interface SongServiceRequest extends RequestContext
{
	public Request<List<SongProxy>> findByFilter(SongFilterProxy filter,int start,int size);
	
	public Request<SongProxy> findById(Long id);
	
	public Request<Integer> getMaxNumber();

	public Request<SongProxy> save(SongProxy song);

	public Request<Void> delete(SongProxy song);

	public Request<SongProxy> updateNumber(SongProxy song, int number);
}
